/**
*  B中代码的实现是依赖A的，两者之间的耦合度非常高，当两者之间的业务逻辑复杂程度增加的情况下
*  维护成本与代码的可读性都会随着增加，并且很难再多引入额外的模块进行功能扩展
*/

class A {
    name: string
    constructor(name:string){
        this.name = name;
    }
}

class B {
    age: number
    entity: A
    constructor (age: number) {
        this.age = age;
        this.entity = new A ('test');
    }
}

const c = new B(18);

console.log(c.entity.name);

